/**
 * TimelineState Interface
 * 
 * Represents the state of the timeline at a specific point in time.
 */
export interface TimelineState {
  time: number;
  tracks: { [trackId: string]: any };
}

/**
 * Keyframe Interface
 * 
 * Represents a key point in time with specific data values.
 */
export interface Keyframe {
  time: number;
  data: any;
  interpolation: string;
  easeIn: number;
  easeOut: number;
}

/**
 * Track Interface
 * 
 * Represents a single track in the timeline.
 */
export interface Track {
  id: string;
  type: string;
  target: string;
  keyframes: Keyframe[];
}